% Uh doit etre la liste des deplacements et rotations des noeuds. Il ne contient pas les
% multiplicateurs de lagrange.

function dduL = derivSecUhL(donnees)

nbNoeuds = (donnees.nombreElements+1) ;
maillage = donnees.maillage ;
dduL = zeros(nbNoeuds,2) ; % Matrice contenant les dérivées secondes à gauche et à droite pour chacun des noeuds

Uh = donnees.res.Uh(1:2:end) ;
thetaH = donnees.res.Uh(2:2:end) ;

for i=1:donnees.nombreElements
    element = maillage(i:i+1) ;
    longueurElem = element(2)-element(1) ;
    
    dduL(i,2) = Uh(i)*phiISec(0,element) + Uh(i+1)*phiJSec(0,element) + thetaH(i)*psiISec(0,element) + thetaH(i+1)*psiJSec(0,element) ;
    dduL(i+1,1) = Uh(i)*phiISec(longueurElem,element) + Uh(i+1)*phiJSec(longueurElem,element) + thetaH(i)*psiISec(longueurElem,element) + thetaH(i+1)*psiJSec(longueurElem,element) ;   
end

end